home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / win / vb / ssave.exe / SCRNCAP.BAS next >
Encoding:
BASIC Source File  |  1992-09-02  |  1.5 KB  |  45 lines

  1. DefInt A-Z
  2.  
  3. Declare Sub DeleteDC Lib "GDI" (ByVal hDC)
  4. Declare Sub BitBlt Lib "GDI" (ByVal DestDC, ByVal X, ByVal Y, ByVal BWidth, ByVal BHeight, ByVal SourceDC, ByVal X, ByVal Y, ByVal Constant&)
  5. Declare Sub DrawIcon Lib "User" (ByVal hDC, ByVal X, ByVal Y, ByVal hIcon)
  6. Declare Sub GetCursorPos Lib "User" (lpPNT)
  7. Declare Sub CopyRect Lib "User" (lpDest, ByVal lpSrc&)
  8. Declare Sub UnlockResource Lib "Kernel" Alias "GlobalUnlock" (ByVal hRes)
  9.  
  10. Declare Function CreateDC Lib "GDI" (ByVal Driver$, ByVal Dev&, ByVal O&, ByVal Init&)
  11. Declare Function GetDeviceCaps Lib "GDI" (ByVal hDC, ByVal nIndex)
  12. Declare Function GetCursor Lib "User" ()
  13. Declare Function LockResource& Lib "Kernel" (ByVal hRes)
  14.  
  15. Dim ScrnW, ScrnH
  16. Dim RECT(3)
  17.  
  18. Const HORZRES = 8
  19. Const VERTRES = 10
  20.  
  21. Sub ScrnCap (Frm As Form, Cursor)
  22.     DC = CreateDC("DISPLAY", 0, 0, 0)
  23.     BitBlt Frm.hDC, 0, 0, ScrnW, ScrnH, DC, 0, 0, &HCC0020
  24.     DeleteDC DC
  25.     If Cursor Then
  26.         GetCursorPos RECT(0)
  27.         CursorX = RECT(0): CursorY = RECT(1)
  28.         hCursor = GetCursor()
  29.         lpCursor& = LockResource&(hCursor)
  30.         CopyRect RECT(0), lpCursor&
  31.         UnlockResource hCursor
  32.         CursorX = CursorX - RECT(0)
  33.         CursorY = CursorY - RECT(1)
  34.         DrawIcon Frm.hDC, CursorX, CursorY, hCursor
  35.     End If
  36. End Sub
  37.  
  38. Sub GetScrnRes ()
  39.     DC = CreateDC("DISPLAY", 0, 0, 0)
  40.     ScrnW = GetDeviceCaps(DC, HORZRES)
  41.     ScrnH = GetDeviceCaps(DC, VERTRES)
  42.     DeleteDC DC
  43. End Sub
  44.  
  45.